package com.xiangge.demo;

import java.util.Scanner;

/*
    4、[难]输入一个任意整数，判断它是否为质数。如果输入的为7，则输出“7是质数”；如果输入的是8，则输出‘8不是质数’。
              质数：除了1和它本身之外,不能被其他数整除的正整数称质数。
 */
public class ForDemo7 {
    public static void main(String[] args) {
        // 1. 键盘录入一个正整数n 并且数据校验
        System.out.println("请输入一个正整数：");
        int n = new Scanner(System.in).nextInt();
        if(n < 2){
            System.err.println("您输入的数据不合法！");
            return;
        }
        // 2.程序走到此处说明： n >= 2 , 假设n是质数 - 定义变量flag = true
        boolean flag = true;

        // 3. 使用for循环定义变量i代表[2,n-1]之间所有的数
        for (int i = 2; i <= n - 1; i++) {
            // 4. 判断 n 对每一轮循环的i是否整数
            if( n % i == 0){ // 发现了[2,n-1]之间 存在一个数能被n整除
                // 修改是否为质数的标记
                flag = false;
                // 找到一个之后,使用break结束循环
                break;
            }
        }
        // 5. 循环结束之后： 使用if双选结构判断flag
        if(flag == true){
            System.out.println(n + "是质数");
        }
        else{
            System.out.println(n + "不是质数");
        }
    }
}
